package cn.bugDance.domain.rebate.repository;

import cn.bugDance.domain.rebate.model.aggregate.UserBehaviorRebateOrderAggregate;
import cn.bugDance.domain.rebate.model.entity.*;

import java.util.Date;
import java.util.List;

public interface IRebateRepository {
    boolean existDayCheckIn(String key, Date day);

    List<DallyBehaviorRebateEntity> queryBehaviorRebateEntities(String behaviorType);

    void doSaveOrders(List<UserBehaviorRebateOrderAggregate> userBehaviorRebateOrderAggregates, BehaviorEntity behaviorEntity);

    Boolean isCalendarSignRebate(String key);

    void creditRecharge(RebateCreditShopCartEntity rebateCreditShopCartEntity);

    Integer queryLongCheckInDay(String userId, Long activityId);

    UserCalendarSignRecordEntity queryPreviousSignDay(UserCalendarSignRecordEntity userCalendarSignRecordReqEntity);

    List<CheckInConfigEntity> queryCheckInConfig();

    void saveCalendarSignRebateOrder(UserBehaviorRebateOrderAggregate userBehaviorRebateOrderAggregate);

    List<UserCalendarSignRecordEntity> queryUserCalendarSignRecords(String userId, Long activityId, String month);
}
